home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -seriously_amiga- / misc / notes / deutsch / violinenschlüssel.rexx < prev   
OS/2 REXX Batch file  |  1999-04-19  |  50KB  |  1,637 lines

  1. /* Unterprogramm für "Noten.pprx" */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8. call ppm_SetMagMode(250)
  9. call ppm_UpdateScreen()
  10.  
  11. noteneingabe:
  12.     sysform = "Notensystemart:2"'0a'x"Anzahl Vorzeichen:2"'0a'x"kleinster Notenwert:4"
  13.     systemform = ppm_Getform("Bitte eingeben ... (nichts=ABBRUCH)", 3, sysform)
  14.     if systemform = '' then exit_msg("Abbruch!")
  15.     parse var systemform systemart '0a'x vz '0a'x xgrd
  16.  
  17.     select
  18.     when systemart == '2' then zdist = 4
  19.     when systemart == '1v' then zdist = 2
  20.     when systemart == '1b' then zdist = 2
  21.     when systemart == '' then exit_msg("Abbruch!")
  22.     when vz == '' then exit_msg("Abbruch!")
  23.     otherwise noteneingabe()
  24.     end
  25.     zdist2 = zdist-2
  26.     if xgrd == '' then  exit_msg("Abbruch")
  27.     select
  28.      when xgrd == '1' then xg =0.7
  29.      when xgrd == '2' then xg =1.4
  30.      when xgrd == '4' then xg =2.8
  31.      when xgrd == '8' then xg =5.6
  32.      when xgrd == '16' then xg =11.2
  33.      when xgrd == '' then exit_msg("Abbruch!")
  34.      otherwise noteneingabe()
  35.     end
  36.  
  37.  
  38.    /* Punktgröße der Noten */
  39.    notepkt = 26
  40.    call ppm_SetJustification(0)
  41.    
  42.    secondbox=ppm_BoxNum()
  43.  
  44.    zz = 0   /* Zeilenzähler */
  45.    notex = 0
  46.    notey = 0
  47.    page = ppm_CurrentPage()
  48.  
  49. clickpos:
  50.    res = ppm_GetUserText(2, "Manuell oder an Box ausrichten ? m/b")
  51.  
  52.    if res == 'M' then res = 'm'
  53.    if res == 'B' then res = 'b'
  54.  select
  55.    when res == 'm' then
  56.      do
  57.        clickpos = ppm_GetClickPosition("Bitte die Stelle anklicken wo ich beginnen soll...")
  58.        if clickpos == 0 then
  59.            do
  60.            exit_msg("Falsche Eingabe !! ENDE !!")
  61.            end
  62.        else
  63.          do
  64.            notey = word(clickpos, 2)
  65.            notex = word(clickpos, 1)
  66.            if notex < (2+(vz*0.175)) then notex = (2+(vz*0.175))
  67.            xw = notex
  68.            yw = notey
  69.            if systemart ~= '2' then
  70.             do
  71.              if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  72.              if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  73.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  74.              if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  75.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  76.              if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  77.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  78.              if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  79.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  80.              if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  81.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  82.              if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  83.              if notey > 25.3 then noteneingabe()
  84.             end
  85.            else
  86.              do
  87.               if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  88.               if ((notey > 3.5)&(notey < 5.3)) then zz = 4
  89.               if ((notey > 5.5)&(notey < 11.3)) then zz = 8
  90.               if ((notey > 11.5)&(notey < 15.3)) then zz = 12
  91.               if ((notey > 15.5)&(notey < 19.3)) then zz = 16
  92.               if ((notey > 19.5)&(notey < 23.3)) then zz = 20
  93.               if notey > 25.3 then noteneingabe()
  94.              end
  95.          end
  96.  
  97.      end
  98.    when res == 'b' then
  99.      do
  100.         clickbox = ppm_ClickOnBox("Bitte eine Box anklicken, an der Stelle, wo es weitergeht ...")
  101.         pos = ppm_GetBoxPosition(clickbox)
  102.         notex = word(pos, 1)
  103.         notey = word(pos, 2)
  104.         xw = notex
  105.         if notex <= 1 then noteneingabe()
  106.         yw = notey
  107.         secondbox = ppm_BoxAtPosn(notex, notey, page)
  108.         if systemart ~= '2' then
  109.             do
  110.              if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  111.              if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  112.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  113.              if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  114.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  115.              if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  116.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  117.              if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  118.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  119.              if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  120.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  121.              if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  122.              if notey > 25.3 then noteneingabe()
  123.             end
  124.         else
  125.             do
  126.              if notey <= 3.3  then zz= 0
  127.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  128.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  129.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  130.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  131.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  132.             end
  133.      end
  134.    otherwise clickpos()
  135.  end
  136.  
  137.  
  138.    /* Zeigerbox */
  139.  
  140.    zbid = ppm_CreateBox(notex, zz+0.5, 0.3, 1, 0)
  141.    call ppm_SetSize(26)
  142.    zbn = ppm_GetBoxName(zbid)
  143.    call ppm_TextIntoBox(zbn, '5')
  144.  
  145.  
  146. notenwert:
  147.  
  148.    do forever
  149.            cr = '0a'x
  150.            form = "Wert Name ['A'ufl.]"
  151.            call ppm_SetBoxPosition(zbid, notex, zz+0.5)
  152.            call ppm_UpdateScreen()
  153.            eingabe = ppm_GetForm("Bitte für die Noten eingeben ...(nichts=Abbruch) ", 7, form)
  154.            if eingabe = '' then
  155.            do
  156.             call ppm_DeleteBox(zbid)
  157.             exit_msg()
  158.            end
  159.            nw = word(eingabe, 1)
  160.            nn = word(eingabe, 2)
  161.            if nw == 'P' then nw = 'p'
  162.            al = word(eingabe, 3)
  163.            if al == 'A' then al = 'a'
  164.            IF nw == 'D' then nw = 'd'
  165.            if nw == 'LEFT' then nw = 'left'
  166.            if nw == 'L' then nw = 'l'
  167.            if nw == 'T' then nw = 't'
  168.            if nn == 'T' then nn = 't'
  169.            if nw == 'M' then nw = 'm'
  170.            if nw == "NEU" then nw = "neu"
  171.  
  172.       select
  173.         when nn=='GB2' then nn = 'Gb2'
  174.         when nn=='AB2' then nn = 'Ab2'
  175.         when nn=='DB3' then nn = 'Db3'
  176.         when nn=='EB3' then nn = 'Eb3'
  177.         when nn=='GB3' then nn = 'Gb3'
  178.         when nn=='AB3' then nn = 'Ab3'
  179.         when nn=='DB4' then nn = 'Db4'
  180.         when nn=='EB4' then nn = 'Eb4'
  181.         when nn=='GB4' then nn = 'Gb4'
  182.         when nn=='AB4' then nn = 'Ab4'
  183.         when nn=='DB5' then nn = 'Db5'
  184.         when nn=='EB5' then nn = 'Eb5'
  185.         otherwise NOP
  186.       end
  187.  
  188.         /* x-Abstände der Noten zueinander */
  189.     select
  190.       when nw=='s' then
  191.           do
  192.           xw = xg/16
  193.           nw='x'
  194.           yv = 0
  195.           end
  196.       when nw=='S' then
  197.           do
  198.           xw = xg/16
  199.           nw='X'
  200.           yv = 0.47
  201.           end
  202.       when nw=='a' then
  203.           do
  204.           xw = xg/8
  205.           nw='e'
  206.           yv = 0
  207.           end
  208.       when nw=='A' then
  209.           do
  210.           xw = xg/8
  211.           nw='E'
  212.           yv = 0.47
  213.           end
  214.       when nw=='v' then
  215.           do
  216.           xw = xg/4
  217.           nw='q'
  218.           yv = 0
  219.           end
  220.       when nw=='V' then
  221.           do
  222.           xw = xg/4
  223.           nw='Q'
  224.           yv = 0.47
  225.           end
  226.       when nw=='h' then
  227.           do
  228.           xw = xg/2
  229.           yv = 0
  230.           end
  231.       when nw=='H' then
  232.           do
  233.           xw = xg/2
  234.           yv = 0.47
  235.           end
  236.       when nw=='g' then
  237.           do
  238.           xw = xg
  239.           nw='w'
  240.           yv = 0
  241.           end
  242.       when nw=='G' then
  243.           do
  244.           xw = xg
  245.           nw='W'
  246.           yv = 0.47
  247.           end
  248.  
  249.      /* 2 Achtel- oder Sechzehntelnoten mit Balken verbinden */
  250.  
  251.       when nw=='m' then
  252.           do
  253.             call ppm_SetEdit(secondbox)
  254.             call ppm_SelectBoxText()
  255.             boxtxt=ppm_GetBlockText(0)
  256.             btb=word(boxtxt,1)
  257.             select
  258.                 when btb=='e' then
  259.                 do
  260.                   fbx=0.45
  261.                   fby=0.12
  262.                   newtxt='q'
  263.                   balk=1
  264.                 end
  265.                 when btb=='E' then
  266.                 do
  267.                   fbx=0.145
  268.                   fby=0.73
  269.                   newtxt='Q'
  270.                   balk=1
  271.                 end
  272.                 when btb=='x' then
  273.                 do
  274.                   fbx=0.45
  275.                   fby=0.12
  276.                   newtxt='q'
  277.                   balk=2
  278.                 end
  279.                 when btb=='X' then
  280.                 do
  281.                   fbx=0.145
  282.                   fby=0.73
  283.                   newtxt='Q'
  284.                   balk=2
  285.                 end
  286.                 otherwise
  287.                 do
  288.                     call ppm_EndEdit()
  289.                     call ppm_Inform(1,"Nur achtel und sechzehntel können verbunden werden!!!","OK")
  290.                     notenwert()
  291.                 end
  292.             end
  293.             call ppm_Cut()
  294.             call ppm_UnBlock()
  295.             call ppm_EndEdit()
  296.             call ppm_TextIntoBox(secondbox, newtxt)
  297.             boxposb=ppm_GetBoxPosition(secondbox)
  298.             boxbx=word(boxposb,1)
  299.             boxby=word(boxposb,2)
  300.             if boxbosbx <= 3 then
  301.             do
  302.                 call ppm_Inform(1,"Über das Zeilenende nicht zu verbinden ... :(","OK")
  303.                 notenwert()
  304.             end
  305.             do forever
  306.               info = ppm_GetBoxInfo(firstbox)
  307.               type = word(info,1)
  308.               if type ~= "Text" then firstbox = firstbox - 1
  309.               else break
  310.             end
  311.             curbox=ppm_ArtFirstBox(firstbox)
  312.             call ppm_SetEdit(curbox)
  313.             call ppm_SelectBoxText()
  314.             boxtxt=ppm_GetBlockText(0)
  315.             bta=word(boxtxt,1)
  316.             select
  317.                 when bta=='e' then
  318.                 do
  319.                   fax=0.39
  320.                   fay=0.12
  321.                   newtxt='q'
  322.                 end
  323.                 when bta=='E' then
  324.                 do
  325.                   fax=0.085
  326.                   fay=0.73
  327.                   newtxt='Q'
  328.                 end
  329.                 when bta=='x' then
  330.                 do
  331.                   fax=0.39
  332.                   fay=0.12
  333.                   newtxt='q'
  334.                 end
  335.                 when bta=='X' then
  336.                 do
  337.                   fax=0.085
  338.                   fay=0.73
  339.                   newtxt='Q'
  340.                 end
  341.                 otherwise
  342.                 do
  343.                     call ppm_EndEdit()
  344.                     call ppm_Inform(1,"Nur achtel und sechzehntel können verbunden werden!!!","OK")
  345.                     notenwert()
  346.                 end
  347.             end
  348.             if bta ~= btb then
  349.             do
  350.                 call ppm_EndEdit()
  351.                 call ppm_Inform(1,"Nur gleiche Noten können verbunden werden!!!","OK")
  352.                 call ppm_SetEdit(secondbox)
  353.                 call ppm_SelectBoxText()
  354.                 call ppm_Cut()
  355.                 call ppm_EndEdit()
  356.                 call ppm_TextIntoBox(secondbox, btb)
  357.                 notenwert()
  358.             end
  359.             call ppm_Cut()
  360.             call ppm_UnBlock()
  361.             call ppm_EndEdit()
  362.             call ppm_TextIntoBox(curbox, newtxt)
  363.             boxposa=ppm_GetBoxPosition(curbox)
  364.             boxax=word(boxposa,1)
  365.             boxay=word(boxposa,2)
  366.             call ppm_SetLineWeight(3)
  367.             do forever
  368.               if balk == 0 then break
  369.               lineid=ppm_DrawLine(boxax+fax, boxay+fay, boxbx+fbx, boxby+fby)
  370.               call ppm_SetBoxOffset(lineid, -0.08, 0)
  371.               measure=ppm_GetBoxSize(lineid)
  372.               linex = word(measure,1)
  373.               liney = word(measure,2)
  374.               call ppm_SetBoxSize(lineid, linex - 0.155, liney)
  375.               if bta == 'x' then
  376.               do
  377.                 fay = fay + 0.2
  378.                 fby = fby + 0.2
  379.               end
  380.               if bta == 'X' then
  381.               do
  382.                 fay = fay - 0.2
  383.                 fby = fby - 0.2
  384.               end
  385.               balk = balk - 1
  386.             end
  387.             call ppm_ArtFirstBox(secondbox)
  388.             call ppm_SetLineWeight(0.5)
  389.           end
  390.  
  391.      /* Sprung an den Anfang der Zeile */
  392.       when nw == 'left' then
  393.           do
  394.            call ppm_SetPagePosition(0, zz+1)
  395.           end
  396.  
  397.      /* Punkt nach der Note - muß als erstes eingegeben werden falls gewünscht
  398.         den nötigen Freiraum mit "sp" eingeben */
  399.  
  400.       when nw == 'pk' then
  401.           do
  402.             if notex < 3 then
  403.             do
  404.               notex = bakx
  405.               zz = zz - zdist
  406.               call ppm_SetSize(25)
  407.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  408.               call ppm_SetSize(20)
  409.               call ppm_TextIntoBox(box#id, 'd')
  410.             end
  411.             else
  412.             do
  413.               call ppm_SetSize(25)
  414.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  415.               call ppm_SetSize(20)
  416.               call ppm_TextIntoBox(box#id, 'd')
  417.             end
  418.            select
  419.                when nn == '1' then
  420.                do
  421.                xw = xg
  422.                notex = notex+xw
  423.                end
  424.                when nn == '2' then
  425.                do
  426.                xw = xg/2
  427.                notex = notex+xw
  428.                end
  429.                when nn == '4' then
  430.                do
  431.                xw = xg/4
  432.                notex = notex+xw
  433.                end
  434.                when nn == '8' then
  435.                do
  436.                xw = xg/8
  437.                notex = notex+xw
  438.                end
  439.                when nn == '16' then
  440.                do
  441.                xw  = xg/16
  442.                notex = notex+xw
  443.                end
  444.                when nn == 't' then
  445.                do
  446.                xw  = 0.2
  447.                notex = notex+xw
  448.                end
  449.                otherwise notenwert()
  450.            end
  451.            if notex >=18.7 then
  452.                do
  453.                  notex = (2+(vz*0.175))
  454.                  zz = zz + zdist
  455.                end
  456.            px = notex - 4
  457.            py = zz-1
  458.            if px < 0 then px = 0
  459.            call ppm_SetPagePosition(px, py+2)
  460.            notenwert()
  461.           end
  462.  
  463.       when nw == 'PK' then
  464.           do
  465.             if notex < 3 then
  466.             do
  467.               notex = bakx
  468.               zz = zz - zdist
  469.               call ppm_SetSize(25)
  470.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  471.               call ppm_SetSize(20)
  472.               call ppm_TextIntoBox(box#id, 'd')
  473.             end
  474.             else
  475.             do
  476.               call ppm_SetSize(25)
  477.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  478.               call ppm_SetSize(20)
  479.               call ppm_TextIntoBox(box#id, 'd')
  480.             end
  481.            select
  482.                when nn == '1' then
  483.                do
  484.                xw = xg
  485.                notex = notex+xw
  486.                end
  487.                when nn == '2' then
  488.                do
  489.                xw = xg/2
  490.                notex = notex+xw
  491.                end
  492.                when nn == '4' then
  493.                do
  494.                xw = xg/4
  495.                notex = notex+xw
  496.                end
  497.                when nn == '8' then
  498.                do
  499.                xw = xg/8
  500.                notex = notex+xw
  501.                end
  502.                when nn == '16' then
  503.                do
  504.                xw  = xg/16
  505.                notex = notex+xw
  506.                end
  507.                when nn == 't' then
  508.                do
  509.                xw  = 0.2
  510.                notex = notex+xw
  511.                end
  512.                otherwise notenwert()
  513.            end
  514.            if notex >=18.7 then
  515.                do
  516.                  notex = (2+(vz*0.175))
  517.                  zz = zz + zdist
  518.                end
  519.            px = notex - 4
  520.            py = zz-1
  521.            if px < 0 then px = 0
  522.            call ppm_SetPagePosition(px, py+2)
  523.            notenwert()
  524.           end
  525.  
  526.      /* Löschen */
  527.       when nw == 'd' then
  528.           do
  529.            secondbox=firstbox
  530.            oldpos = notex
  531.            thisbox = ppm_BoxNum()
  532.            if thisbox == zbid then
  533.              do
  534.              ppm_Inform(1, "Nichts mehr zu löschen!","OK")
  535.              notenwert()
  536.              end
  537.            lpos= ppm_GetBoxPosition()
  538.            notex = word(lpos, 1)
  539.            call ppm_DeleteBox()
  540.            diff = oldpos - notex
  541.            if diff<0 then notenwert()
  542.            if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23
  543.            py    = zz - 1
  544.            px = notex - 4
  545.            if px < 0 then px = 0
  546.            call ppm_SetPagePosition(px, py+2)
  547.            notenwert()
  548.           end
  549.  
  550.       /* Taktstrich */
  551.       when nw == 't' then
  552.           do
  553.            call ppm_SetLineWeight(0.25)
  554.            call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
  555.            notex = notex+0.2
  556.           end
  557.  
  558.      /* Pausen */
  559.       when nw == 'p' then
  560.         do
  561. pausenwert:
  562.          /*  wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
  563.            x = notex
  564.            select
  565.                when nn== '1' then do
  566.  
  567.                    y = 2.28+zz
  568.                    call ppm_SetLineWeight(4)
  569.                    call ppm_DrawLine(x, y, x+0.4, y)
  570.                    call ppm_SetLineWeight(0.25)
  571.                    xw = xg
  572.                    notex = notex+xw
  573.                end
  574.  
  575.                when nn== '2' then do
  576.  
  577.                    y = 2.32+zz
  578.                    call ppm_SetLineWeight(4)
  579.                    call ppm_DrawLine(x, y, x+0.4, y)
  580.                    call ppm_SetLineWeight(0.25)
  581.                    xw = xg/2
  582.                    notex = notex+xw
  583.                end
  584.  
  585.                when nn== '4' then do
  586.  
  587.                    y = 2.07+zz
  588.                    Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  589.                    boxnm = ppm_DocNextBox(Pbox)
  590.                    call ppm_DeleteContents(boxnm)
  591.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/viertelPause', pause)
  592.                    xw = xg/4
  593.                    notex = notex+xw
  594.                end
  595.  
  596.                when nn== '8' then do
  597.  
  598.                    y = 2.21+zz
  599.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  600.                    boxnm = ppm_DocNextBox(Pbox)
  601.                    call ppm_DeleteContents(boxnm)
  602.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/achtelPause', pause)
  603.                    xw = xg/8
  604.                    notex = notex+xw
  605.                end
  606.  
  607.                when nn== '16' then do
  608.  
  609.                    y = 2.21+zz
  610.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  611.                    boxnm = ppm_DocNextBox(Pbox)
  612.                    call ppm_DeleteContents(boxnm)
  613.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/sechzehntelPause', pause)
  614.                    xw = xg/16
  615.                    notex = notex+xw
  616.                end
  617.                otherwise notenwert()
  618.            end
  619.            if notex >=18.7 then
  620.                do
  621.                  notex = (2+(vz*0.175))
  622.                  zz = zz + zdist
  623.                end
  624.            px = notex - 4
  625.            py = zz-1
  626.            if px < 0 then px = 0
  627.            call ppm_SetPagePosition(px, py+2)
  628.            notenwert()
  629.         end
  630.  
  631.       when nw == 'l' then
  632.         do
  633.            /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
  634.           select
  635.  
  636.            when nn== '1' then
  637.                do
  638.                xw = xg
  639.                notex = notex+xw
  640.                end
  641.            when nn== '2' then
  642.                do
  643.                xw = xg/2
  644.                notex = notex+xw
  645.                end
  646.            when nn== '4' then
  647.                do
  648.                xw = xg/4
  649.                notex = notex+xw
  650.                end
  651.            when nn== '8' then
  652.                do
  653.                xw = xg/8
  654.                notex = notex+xw
  655.                end
  656.            when nn== '16' then
  657.                do
  658.                xw = xg/16
  659.                notex = notex+xw
  660.                end
  661.            when nn == 't' then
  662.                do
  663.                xw  = 0.2
  664.                notex = notex+xw
  665.                end
  666.            otherwise notenwert()
  667.           end
  668.            if notex >=18.7 then
  669.                do
  670.                  notex = (2+(vz*0.175))
  671.                  zz = zz + zdist
  672.                end
  673.            px = notex - 4
  674.            py = zz-1
  675.            if px < 0 then px = 0
  676.            call ppm_SetPagePosition(px, py+2)
  677.            notenwert()
  678.         end
  679.  
  680.       when nw == 'neu' then
  681.         do
  682.            call ppm_DeleteBox(zbid)
  683.            clickpos()
  684.         end
  685.       otherwise notenwert()
  686.     end
  687.  
  688.  
  689.      /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */
  690.  
  691.         call ppm_SetLineWeight(0.25)
  692.  
  693.       select
  694.         when nn=='f#5'  then
  695.         do
  696.             yw = 0.645
  697.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  698.             call ppm_SetSize(20)
  699.             call ppm_TextIntoBox(box#id, 's')
  700.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  701.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  702.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  703.         end
  704.         when nn=='f5'  then
  705.         do
  706.             yw = 0.645
  707.             if al == 'a' then call auflhoch()
  708.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  709.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  710.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  711.         end
  712.         when nn=='e5'  then
  713.         do
  714.             yw = 0.745
  715.             if al == 'a' then call auflhoch()
  716.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  717.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  718.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  719.         end
  720.         when nn=='eb5'  then
  721.         do
  722.             yw = 0.745
  723.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  724.             call ppm_SetSize(20)
  725.             call ppm_TextIntoBox(box#id, 'f')
  726.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  727.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  728.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  729.         end
  730.         when nn=='d#5'  then
  731.         do
  732.             yw = 0.845
  733.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  734.             call ppm_SetSize(20)
  735.             call ppm_TextIntoBox(box#id, 's')
  736.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  737.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  738.         end
  739.         when nn=='d5'  then
  740.         do
  741.             yw = 0.845
  742.             if al == 'a' then call auflhoch()
  743.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  744.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  745.         end
  746.         when nn=='db5'  then
  747.         do
  748.             yw = 0.845
  749.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  750.             call ppm_SetSize(20)
  751.             call ppm_TextIntoBox(box#id, 'f')
  752.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  753.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  754.         end
  755.         when nn=='c#5'  then
  756.         do
  757.             yw = 0.945
  758.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  759.             call ppm_SetSize(20)
  760.             call ppm_TextIntoBox(box#id, 's')
  761.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  762.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  763.         end
  764.         when nn=='c5'  then
  765.         do
  766.             yw = 0.945
  767.             if al == 'a' then call auflhoch()
  768.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  769.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  770.         end
  771.  
  772.         when nn=='h4'  then
  773.         do
  774.             yw = 1.045
  775.             if al == 'a' then call auflhoch()
  776.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  777.         end
  778.  
  779.         when nn=='b4'  then
  780.         do
  781.             yw = 1.045
  782.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  783.         end
  784.  
  785.         when nn=='a#4' then
  786.         do
  787.             yw = 1.145
  788.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  789.             call ppm_SetSize(20)
  790.             call ppm_TextIntoBox(box#id, 's')
  791.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  792.         end
  793.  
  794.         when nn=='a4'  then
  795.         do
  796.             yw = 1.145
  797.             if al == 'a' then call auflhoch()
  798.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  799.         end
  800.  
  801.         when nn=='ab4' then
  802.         do
  803.             yw = 1.145
  804.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  805.             call ppm_SetSize(20)
  806.             call ppm_TextIntoBox(box#id, 'f')
  807.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  808.         end
  809.  
  810.         when nn=='g#4' then
  811.         do
  812.             yw = 1.245
  813.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  814.             call ppm_SetSize(20)
  815.             call ppm_TextIntoBox(box#id, 's')
  816.         end
  817.         when nn=='g4'  then
  818.         do
  819.             yw = 1.245
  820.             if al == 'a' then call auflhoch()
  821.         end
  822.         when nn=='gb4' then
  823.         do
  824.             yw = 1.245
  825.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  826.             call ppm_SetSize(20)
  827.             call ppm_TextIntoBox(box#id, 'f')
  828.         end
  829.         when nn=='f#4' then
  830.         do
  831.             yw = 1.345
  832.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  833.             call ppm_SetSize(20)
  834.             call ppm_TextIntoBox(box#id, 's')
  835.         end
  836.         when nn=='f4'  then
  837.         do
  838.             yw = 1.345
  839.             if al == 'a' then call auflhoch()
  840.         end
  841.         when nn=='e#4' then
  842.         do
  843.             yw = 1.445
  844.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  845.             call ppm_SetSize(20)
  846.             call ppm_TextIntoBox(box#id, 's')
  847.         end
  848.         when nn=='e4'  then
  849.         do
  850.             yw = 1.445
  851.             if al == 'a' then call auflhoch()
  852.         end
  853.         when nn=='eb4' then
  854.         do
  855.             yw = 1.445
  856.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  857.             call ppm_SetSize(20)
  858.             call ppm_TextIntoBox(box#id, 'f')
  859.         end
  860.         when nn=='d#4' then
  861.         do
  862.             yw = 1.545
  863.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  864.             call ppm_SetSize(20)
  865.             call ppm_TextIntoBox(box#id, 's')
  866.         end
  867.         when nn=='d4'  then
  868.         do
  869.             yw = 1.545
  870.             if al == 'a' then call auflhoch()
  871.         end
  872.         when nn=='db4' then
  873.         do
  874.             yw = 1.545
  875.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  876.             call ppm_SetSize(20)
  877.             call ppm_TextIntoBox(box#id, 'f')
  878.         end
  879.         when nn=='c#4' then
  880.         do
  881.             yw = 1.645
  882.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  883.             call ppm_SetSize(20)
  884.             call ppm_TextIntoBox(box#id, 's')
  885.         end
  886.         when nn=='c4'  then
  887.         do
  888.             yw = 1.645
  889.             if al == 'a' then call auflhoch()
  890.         end
  891.         when nn=='h3'  then
  892.         do
  893.             yw = 1.745
  894.             if al == 'a' then call auflhoch()
  895.         end
  896.         when nn=='b3'  then
  897.         do
  898.             yw = 1.745
  899.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  900.             call ppm_SetSize(20)
  901.             call ppm_TextIntoBox(box#id, 'f')
  902.         end
  903.         when nn=='a#3' then
  904.         do
  905.             yw = 1.845
  906.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  907.             call ppm_SetSize(20)
  908.             call ppm_TextIntoBox(box#id, 's')
  909.         end
  910.         when nn=='a3'  then
  911.         do
  912.             yw = 1.845
  913.             if al == 'a' then call auflhoch()
  914.         end
  915.         when nn=='ab3' then
  916.         do
  917.             yw = 1.845
  918.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  919.             call ppm_SetSize(20)
  920.             call ppm_TextIntoBox(box#id, 'f')
  921.         end
  922.         when nn=='g#3' then
  923.         do
  924.             yw = 1.945
  925.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  926.             call ppm_SetSize(20)
  927.             call ppm_TextIntoBox(box#id, 's')
  928.         end
  929.         when nn=='g3'  then
  930.         do
  931.             yw = 1.945
  932.             if al == 'a' then call auflhoch()
  933.         end
  934.         when nn=='gb3' then
  935.         do
  936.             yw = 1.945
  937.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  938.             call ppm_SetSize(20)
  939.             call ppm_TextIntoBox(box#id, 'f')
  940.         end
  941.         when nn=='f#3' then
  942.         do
  943.             yw = 2.045
  944.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  945.             call ppm_SetSize(20)
  946.             call ppm_TextIntoBox(box#id, 's')
  947.         end
  948.         when nn=='f3'  then
  949.         do
  950.             yw = 2.045
  951.             if al == 'a' then call auflhoch()
  952.         end
  953.         when nn=='e#3' then
  954.         do
  955.             yw = 2.145
  956.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  957.             call ppm_SetSize(20)
  958.             call ppm_TextIntoBox(box#id, 's')
  959.         end
  960.         when nn=='e3'  then
  961.         do
  962.             yw = 2.145
  963.             if al == 'a' then call auflhoch()
  964.         end
  965.         when nn=='eb3' then
  966.         do
  967.             yw = 2.145
  968.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  969.             call ppm_SetSize(20)
  970.             call ppm_TextIntoBox(box#id, 'f')
  971.         end
  972.         when nn=='d#3' then
  973.         do
  974.             yw = 2.245
  975.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  976.             call ppm_SetSize(20)
  977.             call ppm_TextIntoBox(box#id, 's')
  978.         end
  979.         when nn=='d3'  then
  980.         do
  981.             yw = 2.245
  982.             if al == 'a' then call auflhoch()
  983.         end
  984.         when nn=='db3' then
  985.         do
  986.             yw = 2.245
  987.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  988.             call ppm_SetSize(20)
  989.             call ppm_TextIntoBox(box#id, 'f')
  990.         end
  991.  
  992.         when nn=='c#3' then
  993.         do
  994.             yw = 2.345
  995.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  996.             call ppm_SetSize(20)
  997.             call ppm_TextIntoBox(box#id, 's')
  998.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  999.         end
  1000.  
  1001.         when nn=='c3'  then
  1002.         do
  1003.             yw = 2.345
  1004.             if al == 'a' then call auflhoch()
  1005.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1006.         end
  1007.  
  1008.         when nn=='h2'  then
  1009.         do
  1010.             yw = 2.445
  1011.             if al == 'a' then call auflhoch()
  1012.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1013.         end
  1014.  
  1015.         when nn=='b2'  then
  1016.         do
  1017.             yw = 2.445
  1018.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  1019.             call ppm_SetSize(20)
  1020.             call ppm_TextIntoBox(box#id, 'f')
  1021.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1022.         end
  1023.  
  1024.         when nn=='a#2' then
  1025.         do
  1026.             yw = 2.545
  1027.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  1028.             call ppm_SetSize(20)
  1029.             call ppm_TextIntoBox(box#id, 's')
  1030.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1031.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1032.         end
  1033.  
  1034.         when nn=='a2'  then
  1035.         do
  1036.             yw = 2.545
  1037.             if al == 'a' then call auflhoch()
  1038.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1039.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1040.         end
  1041.  
  1042.         when nn=='ab2'  then
  1043.         do
  1044.             yw = 2.545
  1045.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  1046.             call ppm_SetSize(20)
  1047.             call ppm_TextIntoBox(box#id, 'f')
  1048.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1049.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1050.         end
  1051.  
  1052.         when nn=='g#2'  then
  1053.         do
  1054.             yw = 2.645
  1055.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  1056.             call ppm_SetSize(20)
  1057.             call ppm_TextIntoBox(box#id, 's')
  1058.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1059.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1060.         end
  1061.  
  1062.         when nn=='g2'  then
  1063.         do
  1064.             yw = 2.645
  1065.             if al == 'a' then call auflhoch()
  1066.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1067.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1068.         end
  1069.  
  1070.  
  1071.         when nn=='gb2'  then
  1072.         do
  1073.             yw = 2.645
  1074.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  1075.             call ppm_SetSize(20)
  1076.             call ppm_TextIntoBox(box#id, 'f')
  1077.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1078.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1079.         end
  1080.  
  1081.         when nn=='f#2'  then
  1082.         do
  1083.             yw = 2.745
  1084.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  1085.             call ppm_SetSize(20)
  1086.             call ppm_TextIntoBox(box#id, 's')
  1087.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1088.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1089.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1090.         end
  1091.  
  1092.         when nn=='f2'  then
  1093.         do
  1094.             yw = 2.745
  1095.             if al == 'a' then call auflhoch()
  1096.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1097.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1098.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1099.         end
  1100.  
  1101.         when nn=='e2'  then
  1102.         do
  1103.             yw = 2.845
  1104.             if al == 'a' then call auflhoch()
  1105.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1106.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1107.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1108.         end
  1109.  
  1110.         when nn=='eb2'  then
  1111.         do
  1112.             yw = 2.845
  1113.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  1114.             call ppm_SetSize(20)
  1115.             call ppm_TextIntoBox(box#id, 'f')
  1116.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1117.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1118.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1119.         end
  1120.  
  1121.         when nn=='d2'  then
  1122.         do
  1123.             yw = 2.945
  1124.             if al == 'a' then call auflhoch()
  1125.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1126.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1127.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1128.             call ppm_DrawLine(notex, zz+3.6, (notex+0.4), zz+3.6)
  1129.         end
  1130.  
  1131.  
  1132.  
  1133.     /* y-Raster der Noten - Notenhälse nach unten */
  1134.         when nn=='F#5'  then
  1135.         do
  1136.             yw = 1.12
  1137.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1138.             call ppm_SetSize(20)
  1139.             call ppm_TextIntoBox(box#id, 's')
  1140.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1141.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1142.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  1143.         end
  1144.         when nn=='F5'  then
  1145.         do
  1146.             yw = 1.12
  1147.             if al == 'a' then call aufltief()
  1148.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1149.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1150.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  1151.         end
  1152.         when nn=='E5'  then
  1153.         do
  1154.             yw = 1.22
  1155.             if al == 'a' then call aufltief()
  1156.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1157.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1158.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  1159.         end
  1160.         when nn=='Eb5'  then
  1161.         do
  1162.             yw = 1.22
  1163.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1164.             call ppm_SetSize(20)
  1165.             call ppm_TextIntoBox(box#id, 'f')
  1166.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1167.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1168.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  1169.         end
  1170.         when nn=='D#5'  then
  1171.         do
  1172.             yw = 1.32
  1173.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1174.             call ppm_SetSize(20)
  1175.             call ppm_TextIntoBox(box#id, 's')
  1176.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1177.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1178.         end
  1179.         when nn=='D5'  then
  1180.         do
  1181.             yw = 1.32
  1182.             if al == 'a' then call aufltief()
  1183.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1184.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1185.         end
  1186.         when nn=='Db5'  then
  1187.         do
  1188.             yw = 1.32
  1189.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1190.             call ppm_SetSize(20)
  1191.             call ppm_TextIntoBox(box#id, 'f')
  1192.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1193.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1194.         end
  1195.         when nn=='C#5'  then
  1196.         do
  1197.             yw = 1.42
  1198.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1199.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1200.         end
  1201.  
  1202.         when nn=='C5'  then
  1203.         do
  1204.             yw = 1.42
  1205.             if al == 'a' then call aufltief()
  1206.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1207.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1208.         end
  1209.  
  1210.         when nn=='H4'  then
  1211.         do
  1212.             yw = 1.52
  1213.             if al == 'a' then call aufltief()
  1214.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1215.         end
  1216.  
  1217.         when nn=='B4'  then
  1218.         do
  1219.             yw = 1.52
  1220.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1221.             call ppm_SetSize(20)
  1222.             call ppm_TextIntoBox(box#id, 'f')
  1223.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1224.         end
  1225.  
  1226.         when nn=='A#4' then
  1227.         do
  1228.             yw = 1.62
  1229.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1230.             call ppm_SetSize(20)
  1231.             call ppm_TextIntoBox(box#id, 's')
  1232.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1233.         end
  1234.  
  1235.         when nn=='A4'  then
  1236.         do
  1237.             yw = 1.62
  1238.             if al == 'a' then call aufltief()
  1239.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1240.         end
  1241.  
  1242.         when nn=='Ab4' then
  1243.         do
  1244.             yw = 1.62
  1245.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1246.             call ppm_SetSize(20)
  1247.             call ppm_TextIntoBox(box#id, 'f')
  1248.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1249.         end
  1250.  
  1251.         when nn=='G#4' then
  1252.         do
  1253.             yw = 1.72
  1254.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1255.             call ppm_SetSize(20)
  1256.             call ppm_TextIntoBox(box#id, 's')
  1257.         end
  1258.         when nn=='G4'  then
  1259.         do
  1260.             yw = 1.72
  1261.             if al == 'a' then call aufltief()
  1262.         end
  1263.         when nn=='Gb4' then
  1264.         do
  1265.             yw = 1.72
  1266.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1267.             call ppm_SetSize(20)
  1268.             call ppm_TextIntoBox(box#id, 'f')
  1269.         end
  1270.         when nn=='F#4' then
  1271.         do
  1272.             yw = 1.82
  1273.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1274.             call ppm_SetSize(20)
  1275.             call ppm_TextIntoBox(box#id, 's')
  1276.         end
  1277.         when nn=='F4'  then
  1278.         do
  1279.             yw = 1.82
  1280.             if al == 'a' then call aufltief()
  1281.         end
  1282.         when nn=='E#4' then
  1283.         do
  1284.             yw = 1.92
  1285.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1286.             call ppm_SetSize(20)
  1287.             call ppm_TextIntoBox(box#id, 's')
  1288.         end
  1289.         when nn=='E4'  then
  1290.         do
  1291.             yw = 1.92
  1292.             if al == 'a' then call aufltief()
  1293.         end
  1294.         when nn=='Eb4' then
  1295.         do
  1296.             yw = 1.92
  1297.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1298.             call ppm_SetSize(20)
  1299.             call ppm_TextIntoBox(box#id, 'f')
  1300.         end
  1301.         when nn=='D#4' then
  1302.         do
  1303.             yw = 2.02
  1304.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1305.             call ppm_SetSize(20)
  1306.             call ppm_TextIntoBox(box#id, 's')
  1307.         end
  1308.         when nn=='D4'  then
  1309.         do
  1310.             yw = 2.02
  1311.             if al == 'a' then call aufltief()
  1312.         end
  1313.         when nn=='Db4' then
  1314.         do
  1315.             yw = 2.02
  1316.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1317.             call ppm_SetSize(20)
  1318.             call ppm_TextIntoBox(box#id, 'f')
  1319.         end
  1320.         when nn=='C#4' then
  1321.         do
  1322.             yw = 2.12
  1323.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1324.             call ppm_SetSize(20)
  1325.             call ppm_TextIntoBox(box#id, 's')
  1326.         end
  1327.         when nn=='C4'  then
  1328.         do
  1329.             yw = 2.12
  1330.             if al == 'a' then call aufltief()
  1331.         end
  1332.         when nn=='H3'  then
  1333.         do
  1334.             yw = 2.22
  1335.             if al == 'a' then call aufltief()
  1336.         end
  1337.         when nn=='B3'  then
  1338.         do
  1339.             yw = 2.22
  1340.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1341.             call ppm_SetSize(20)
  1342.             call ppm_TextIntoBox(box#id, 'f')
  1343.         end
  1344.         when nn=='A#3' then
  1345.         do
  1346.             yw = 2.32
  1347.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1348.             call ppm_SetSize(20)
  1349.             call ppm_TextIntoBox(box#id, 's')
  1350.         end
  1351.         when nn=='A3'  then
  1352.         do
  1353.             yw = 2.32
  1354.             if al == 'a' then call aufltief()
  1355.         end
  1356.  
  1357.         when nn=='Ab3' then
  1358.         do
  1359.             yw = 2.32
  1360.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1361.             call ppm_SetSize(20)
  1362.             call ppm_TextIntoBox(box#id, 'f')
  1363.         end
  1364.         when nn=='G#3' then
  1365.         do
  1366.             yw = 2.42
  1367.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1368.             call ppm_SetSize(20)
  1369.             call ppm_TextIntoBox(box#id, 's')
  1370.         end
  1371.         when nn=='G3'  then
  1372.         do
  1373.             yw = 2.42
  1374.             if al == 'a' then call aufltief()
  1375.         end
  1376.         when nn=='Gb3' then
  1377.         do
  1378.             yw = 2.42
  1379.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1380.             call ppm_SetSize(20)
  1381.             call ppm_TextIntoBox(box#id, 'f')
  1382.         end
  1383.         when nn=='F#3' then
  1384.         do
  1385.             yw = 2.52
  1386.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1387.             call ppm_SetSize(20)
  1388.             call ppm_TextIntoBox(box#id, 's')
  1389.         end
  1390.         when nn=='F3'  then
  1391.         do
  1392.             yw = 2.52
  1393.             if al == 'a' then call aufltief()
  1394.         end
  1395.         when nn=='E#3' then
  1396.         do
  1397.             yw = 2.62
  1398.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1399.             call ppm_SetSize(20)
  1400.             call ppm_TextIntoBox(box#id, 's')
  1401.         end
  1402.         when nn=='E3'  then
  1403.         do
  1404.             yw = 2.62
  1405.             if al == 'a' then call aufltief()
  1406.         end
  1407.         when nn=='Eb3' then
  1408.         do
  1409.             yw = 2.62
  1410.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1411.             call ppm_SetSize(20)
  1412.             call ppm_TextIntoBox(box#id, 'f')
  1413.         end
  1414.         when nn=='D#3' then
  1415.         do
  1416.             yw = 2.72
  1417.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1418.             call ppm_SetSize(20)
  1419.             call ppm_TextIntoBox(box#id, 's')
  1420.         end
  1421.         when nn=='D3'  then
  1422.         do
  1423.             yw = 2.72
  1424.             if al == 'a' then call aufltief()
  1425.         end
  1426.         when nn=='Db3' then
  1427.         do
  1428.             yw = 2.72
  1429.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1430.             call ppm_SetSize(20)
  1431.             call ppm_TextIntoBox(box#id, 'f')
  1432.         end
  1433.  
  1434.         when nn=='C#3' then
  1435.         do
  1436.             yw = 2.82
  1437.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1438.             call ppm_SetSize(20)
  1439.             call ppm_TextIntoBox(box#id, 's')
  1440.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1441.         end
  1442.  
  1443.         when nn=='C3'  then
  1444.         do
  1445.             yw = 2.82
  1446.             if al == 'a' then call aufltief()
  1447.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1448.         end
  1449.  
  1450.         when nn=='H2'  then
  1451.         do
  1452.             yw = 2.92
  1453.             if al == 'a' then call aufltief()
  1454.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1455.         end
  1456.  
  1457.         when nn=='B2'  then
  1458.         do
  1459.             yw = 2.92
  1460.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1461.             call ppm_SetSize(20)
  1462.             call ppm_TextIntoBox(box#id, 'f')
  1463.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1464.         end
  1465.  
  1466.         when nn=='A#2' then
  1467.         do
  1468.             yw = 3.02
  1469.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1470.             call ppm_SetSize(20)
  1471.             call ppm_TextIntoBox(box#id, 's')
  1472.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1473.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1474.         end
  1475.  
  1476.         when nn=='A2'  then
  1477.         do
  1478.           yw = 3.02
  1479.             if al == 'a' then call aufltief()
  1480.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1481.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1482.         end
  1483.  
  1484.         when nn=='Ab2'  then
  1485.         do
  1486.           yw = 3.02
  1487.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1488.           call ppm_SetSize(20)
  1489.           call ppm_TextIntoBox(box#id, 'f')
  1490.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1491.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1492.         end
  1493.  
  1494.         when nn=='G#2'  then
  1495.         do
  1496.             yw = 3.12
  1497.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1498.             call ppm_SetSize(20)
  1499.             call ppm_TextIntoBox(box#id, 's')
  1500.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1501.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1502.         end
  1503.  
  1504.         when nn=='G2'  then
  1505.         do
  1506.           yw = 3.12
  1507.             if al == 'a' then call aufltief()
  1508.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1509.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1510.         end
  1511.  
  1512.         when nn=='Gb2'  then
  1513.         do
  1514.           yw = 3.12
  1515.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1516.           call ppm_SetSize(20)
  1517.           call ppm_TextIntoBox(box#id, 'f')
  1518.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1519.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1520.         end
  1521.  
  1522.         when nn=='F#2'  then
  1523.         do
  1524.           yw = 3.22
  1525.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1526.           call ppm_SetSize(20)
  1527.           call ppm_TextIntoBox(box#id, 's')
  1528.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1529.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1530.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1531.         end
  1532.  
  1533.         when nn=='F2'  then
  1534.         do
  1535.           yw = 3.22
  1536.             if al == 'a' then call aufltief()
  1537.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1538.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1539.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1540.         end
  1541.  
  1542.         when nn=='E2'  then
  1543.         do
  1544.           yw = 3.32
  1545.             if al == 'a' then call aufltief()
  1546.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1547.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1548.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1549.         end
  1550.  
  1551.         when nn=='Eb2'  then
  1552.         do
  1553.           yw = 3.32
  1554.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1555.           call ppm_SetSize(20)
  1556.           call ppm_TextIntoBox(box#id, 'f')
  1557.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1558.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1559.         end
  1560.  
  1561.         when nn=='D2'  then
  1562.         do
  1563.           yw = 3.42
  1564.             if al == 'a' then call aufltief()
  1565.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1566.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1567.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1568.           call ppm_DrawLine(notex, zz+3.6, (notex+0.4), zz+3.6)
  1569.         end
  1570.  
  1571.         otherwise notenwert()
  1572.       end
  1573.  
  1574.  
  1575.         /* größe einer Notenbox */
  1576.           notewidht = 0.64
  1577.           noteheight = 0.97
  1578.  
  1579.           firstbox = secondbox
  1580.           boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1581.           call ppm_SetSize(notepkt)
  1582.           call ppm_TextIntoBox(boxid, nw)
  1583.           bakx = notex
  1584.           notex = (notex + xw)
  1585.           if notex >=18.7 then
  1586.               do
  1587.                 notex = (2+(vz*0.175))
  1588.                 zz = zz + zdist
  1589.               end
  1590.           px = notex - 4
  1591.           py = zz-1
  1592.           if px < 0 then px = 0
  1593.           call ppm_SetPagePosition(px, py+2)
  1594.           secondbox=boxid
  1595.       end
  1596.    end
  1597. exit
  1598.  
  1599. auflhoch:
  1600. do
  1601.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1602.   boxnm = ppm_DocNextBox(Pbox)
  1603.   call ppm_DeleteContents(boxnm)
  1604.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
  1605.   return
  1606. end
  1607.  
  1608. aufltief:
  1609. do
  1610.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1611.   boxnm = ppm_DocNextBox(Pbox)
  1612.   call ppm_DeleteContents(boxnm)
  1613.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
  1614.   return
  1615. end
  1616.  
  1617. break_d:
  1618. break_e:
  1619. break_c:
  1620. halt:
  1621.     call exit_msg("User aborted Genie!")
  1622.  
  1623.  
  1624. exit_msg: procedure
  1625. do
  1626.     parse arg message
  1627.  
  1628.     if message ~= '' then
  1629.     call ppm_Inform(1,message,)
  1630.  
  1631.     call ppm_ClearStatus()
  1632.     call ppm_AutoUpdate(1)
  1633.     exit
  1634. end
  1635.  
  1636.